
<!DOCTYPE html>

<html lang="en">

<head>
  
  <script async src="https://www.googletagmanager.com/gtag/js?id=UA-48216810-3"></script>
  <script>
    window.dataLayer = window.dataLayer || [];
    function gtag() { dataLayer.push(arguments); }
    gtag('js', new Date());

    gtag('config', 'UA-48216810-3');
  </script>

  <meta charset="utf-8" />
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /><![endif]-->

  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <meta name="application-name" content="hexagon" />
  <meta name="author" content="Juanjo Aguililla" />
  <meta name="description" content="The atoms of your platform" />
  <meta name="keywords" content="Hexagon, microservices, Kotlin, RabbitMQ, MongoDB, JVM, Web" />

  <meta name="theme-color" content="#135AA1" />
  <meta name="apple-mobile-web-app-status-bar-style" content="#135AA1" />
  <meta name="msapplication-navbutton-color" content="#135AA1" />
  <meta name="msapplication-config" content="/browserconfig.xml">
  <meta name="msapplication-TileColor" content="#135AA1">
  <meta name="msapplication-TileImage" content="/apple-touch-icon.png">

  <meta name="apple-mobile-web-app-capable" content="yes" />
  <meta name="mobile-web-app-capable" content="yes" />

  <title>Hexagon</title>

  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/css/bootstrap.min.css" />
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" />

  <link rel="stylesheet" href="/css/base.css" />

  <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
  <link rel="shortcut icon" sizes="32x32" href="/favicon.ico" />
  <link rel="icon" sizes="16x16 32x32 64x64" href="/favicon.ico">

  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:site" content="@hexagon_kt">
  <meta name="twitter:creator" content="@hexagon_kt">
  <meta name="twitter:title" content="hexagon">
  <meta name="twitter:description" content="Hexagon is a microservices toolkit written in Kotlin. Its purpose is to ease the building of services (Web applications, APIs or queue consumers) that run inside a cloud platform">
  <meta name="twitter:image" content="https://hexagonkt.com/apple-touch-icon.png">

  <meta property="og:title" content="hexagon" />
  <meta property="og:type" content="article" />
  <meta property="og:url" content="https://hexagonkt.com" />
  <meta property="og:image" content="https://hexagonkt.com/apple-touch-icon.png" />
  <meta property="og:description" content="Hexagon is a microservices toolkit written in Kotlin. Its purpose is to ease the building of services (Web applications, APIs or queue consumers) that run inside a cloud platform" />

  <meta itemprop="name" content="hexagon">
  <meta itemprop="description" content="Hexagon is a microservices toolkit written in Kotlin. Its purpose is to ease the building of services (Web applications, APIs or queue consumers) that run inside a cloud platform">
  <meta itemprop="image" content="https://hexagonkt.com/apple-touch-icon.png">

  <link rel="author" href="/humans.txt" />
  <link rel="sitemap" type="application/xml" title="Sitemap" href="/sitemap.xml" />
  <link rel="canonical" href="https://hexagonkt.com" />
  <link rel="manifest" href="/manifest.json">

  <!--[if lt IE 9]>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js"></script>
  <![endif]-->

  <!-- Javascript using 'defer' so the pages load faster -->
  <script defer src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script defer src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>

  <!-- For share links -->
  <script defer id="github-bjs" src="https://buttons.github.io/buttons.js"></script>
  <script defer src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

  <!-- Web worker -->

  <link rel="stylesheet" href="/css/index.css" />
</head>

<body class="pt-5 text-big">

      <nav class="p-2 p-sm-1 navbar navbar-expand-lg navbar-dark fixed-top" role="navigation">
        <div class="container-fluid">
          <a class="navbar-brand" href="/"><img src="/img/logo_white.svg" alt="Hexagon Logo"></a>
          
          <button
            class="navbar-toggler"
            type="button"
            data-toggle="collapse"
            data-target="#navbarSupportedContent"
            aria-controls="navbarSupportedContent"
            aria-expanded="false"
            aria-label="Toggle navigation">

            <span class="navbar-toggler-icon"></span>
          </button>

          <div class="collapse navbar-collapse" id="navbarSupportedContent">

            <ul class="navbar-nav ml-auto font-weight-bold">
              <li class="nav-item">
                <a class="nav-link" href="/quick_start.html">Quick Start</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="/developer_guide.html">Developer Guide</a>
              </li>

              <li class="nav-item">
                <a class="nav-link" href="https://github.com/hexagonkt/hexagon">
                  <i class="fa fa-github" aria-hidden="true"></i>
                </a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="https://twitter.com/hexagon_kt">
                  <i class="fa fa-twitter" aria-hidden="true"></i>
                </a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="https://kotlinlang.slack.com/messages/hexagon">
                  <i class="fa fa-slack" aria-hidden="true"></i>
                </a>
              </li>
            </ul>
          </div>
        </div>
      </nav>

  <header class="jumbotron">
    <div class="container text-center">
      <img id="logo" class="my-3 my-sm-4" src="/img/logo.svg" alt="Hexagon Logo"/>

      <p>
        <a href="https://travis-ci.org/hexagonkt/hexagon">
          <img src="https://travis-ci.org/hexagonkt/hexagon.svg?branch=master" alt="Travis CI" />
        </a>

        <a href="https://codecov.io/github/hexagonkt/hexagon?branch=master">
          <img src="https://codecov.io/github/hexagonkt/hexagon/coverage.svg?branch=master" alt="Codecov" />
        </a>

        <a href="https://codebeat.co/projects/github-com-hexagonkt-hexagon-master">
          <img src="https://codebeat.co/badges/f8fafe6f-767a-4248-bc34-e6d4a2acb971" alt="Codebeat" />
        </a>

        <a href="https://bintray.com/jamming/maven/hexagon_core/_latestVersion">
          <img src="https://api.bintray.com/packages/jamming/maven/hexagon_core/images/download.svg" alt="Bintray" />
        </a>
      </p>

      <h1 class="my-2">The atoms of your platform</h1>
      <h3>Hexagon is a microservices toolkit written in Kotlin. Its purpose is to ease the building of services (Web applications, APIs or queue consumers) that run inside a cloud platform</h3>
      <p><a href="/quick_start.html" class="btn btn-xl">Get Started Now</a></p>
      <a href="#features" aria-hidden="true"><i class="fa fa-angle-double-down fa-5x"></i></a>
    </div>
  </header>

  <section id="features" class="container">
    <div class="row">
      <div class="col-md-12 text-center">
        <h2>Features</h2>
        <h3>Hexagon's high-level features.</h3>
      </div>
    </div>

    <div class="row">
      <div class="col-md-4 text-center feature">
        <a href="/quick_start.html">
          <div><i class="fa fa-smile-o" aria-hidden="true"></i></div>
          <h2>Simple to Use</h2>
          <p>Hexagon is focused in allowing you to use the features you use the most in your daily coding in the easiest way.
</p>
        </a>
      </div>
      <div class="col-md-4 text-center feature">
        <a href="https://github.com/hexagonkt/hexagon/blob/master/contributing.md">
          <div><i class="fa fa-keyboard-o" aria-hidden="true"></i></div>
          <h2>Easy to Hack</h2>
          <p>The library is done to be lean and simple so you can tweak it to suit your needs instead relying on third parties.
</p>
        </a>
      </div>
      <div class="col-md-4 text-center feature">
        <a href="/developer_guide.html">
          <div><i class="fa fa-plug" aria-hidden="true"></i></div>
          <h2>Pluggable Adapters</h2>
          <p>Adding an adapter is just implementing the port's interface. You can code your own adapters from scratch or tune the existing ones.
</p>
        </a>
      </div>
      <div class="col-md-4 text-center feature">
        <a href="http://kotlinlang.org">
          <div><i class="fa fa-code" aria-hidden="true"></i></div>
          <h2>Kotlin First</h2>
          <p>The library is coded in Kotlin for coding with Kotlin. No strings attached to Java (as a Language).
</p>
        </a>
      </div>
      <div class="col-md-4 text-center feature">
        <a href="https://github.com/hexagonkt/hexagon#status">
          <div><i class="fa fa-bug" aria-hidden="true"></i></div>
          <h2>Properly Tested</h2>
          <p>Project's coverage is checked in every Pull Request. It is also stress tested at TechEmpower Frameworks Benchmark.
</p>
        </a>
      </div>
      <div class="col-md-4 text-center feature">
        <a href="/developer_guide.html">
          <div><i class="fa fa-cubes" aria-hidden="true"></i></div>
          <h2>Modular</h2>
          <p>Each feature is isolated in its own module. Use only the modules you need without unneeded dependencies.
</p>
        </a>
      </div>
    </div>

    <div class="row">
      <div class="col-md-12 text-center">
        <a href="/quick_start.html" class="btn btn-default">See more</a>
      </div>
    </div>
  </section>

  <section id="architecture" class="container">
    <div class="row">
      <div class="col-md-12 text-center">
        <h2>Architecture</h2>
        <h3>The high level architecture of Hexagon in a picture.</h3>
      </div>
    </div>

    <div class="row">
      <div class="col-md-12 text-center">
        <img src="/img/architecture.svg" class="img-responsive" alt="Hexagon architecture diagram" />
      </div>
    </div>
  </section>

  <section id="portAdapters" class="container">
    <div class="row">
      <div class="col-md-12 text-center">
        <h2>Ports</h2>
        <h3>Ports with their provided implementations (Adapters).</h3>
      </div>
    </div>

    <div class="row justify-content-center">
      <div class="col-10 col-md-8">
        <table class="table table-sm w-100">
          <thead class="text-uppercase">
            <tr>
              <th class="border-top-0">Port</th>
              <th class="border-top-0">Adapters</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>HTTP</td>
              <td>Jetty, Servlet</td>
            </tr>
            <tr>
              <td>Templates</td>
              <td>Pebble</td>
            </tr>
            <tr>
              <td>Serialization formats</td>
              <td>JSON, YAML</td>
            </tr>
            <tr>
              <td>Settings</td>
              <td>Environment, Files, Resources, URLs</td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>
  </section>


  <footer class="mt-2 py-4">
    <div class="container">
      <div class="row">
        <div class="col-4 col-md-2">
          <h3 class="font-weight-bold text-uppercase" data-toc-skip>Usage</h3>
          <ul class="p-0 m-0">
            <li><a href="/quick_start.html">Quick Start</a></li>
            <li><a href="/developer_guide.html">Developer Guide</a></li>

            <li><a href="https://github.com/hexagonkt/hexagon/blob/master/README.md">Readme</a></li>
          </ul>
        </div>

        <div class="col-4 col-md-2">
          <h3 class="font-weight-bold text-uppercase" data-toc-skip>Contribute</h3>
          <ul class="p-0 m-0">
            <li><a href="https://github.com/hexagonkt/hexagon/blob/master/contributing.md">Contributing</a></li>
            <li><a href="https://github.com/hexagonkt/hexagon/projects/1">Planning</a></li>
            <li><a href="https://github.com/hexagonkt/hexagon/milestones">Roadmap</a></li>
          </ul>
        </div>

        <div class="col-4 col-md-2">
          <h3 class="font-weight-bold text-uppercase" data-toc-skip>Community</h3>
          <ul class="p-0 m-0">
            <li><a href="https://github.com/hexagonkt/hexagon">Github</a></li>
            <li><a href="https://twitter.com/hexagon_kt">Twitter</a></li>
            <li><a href="https://kotlinlang.slack.com/messages/hexagon">Slack</a></li>
          </ul>
        </div>

        <div class="col-12 col-md-6">
          <div id="credits" class="text-center text-lg-right mt-3 mt-sm-0">
            Made with <i class="fa fa-heart"></i> by <a href="https://github.com/hexagonkt/hexagon/graphs/contributors">
            OSS contributors</a>. Licensed under <a href="https://github.com/hexagonkt/hexagon/blob/master/license.md">
            MIT License</a>
          </div>

          <div class="text-center text-lg-right mt-3 mt-sm-2">
            <a
              class="github-button"
              href="https://github.com/hexagonkt/hexagon"
              data-icon="octicon-star"
              data-show-count="true"
              aria-label="Star hexagonkt/hexagon on GitHub">Star</a>
            <a
              class="github-button"
              href="https://github.com/hexagonkt/hexagon/subscription"
              data-icon="octicon-eye"
              data-show-count="true"
              aria-label="Watch hexagonkt/hexagon on GitHub">Watch</a>
            <a
              class="github-button"
              href="https://github.com/hexagonkt/hexagon/fork"
              data-icon="octicon-git-branch"
              data-show-count="true"
              aria-label="Fork hexagonkt/hexagon on GitHub">Fork</a>
            <a
              class="twitter-share-button"
              href="https://twitter.com/share?text=Hexagon Kotlin library">Tweet</a>
          </div>
        </div>
      </div>
    </div>
  </footer>
</body>

</html>
